import {
  reqAddAddress,reqAddressInfo,reqEditAddress
} from '../../../api/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    name: '', //姓名
    phone: "", //手机号
    region: "", //省市区
    address: "", //详细地址
    tagName: "家", //标签名字
    isDefault: 0, //默认地址
    provinceCode: 0, //省的编号
    cityCode: 0, //市的编号
    districtCode: 0, //区的编号
    id:0,//修改地址走进来才有的id
  },
  // 点击默认
  changeDefault() {
    this.setData({
      isDefault: this.data.isDefault ? 0 : 1
    })
  },
  // 选择省市区
  chooseRegion(e) {
    // e.detail.value ["天津市", "天津市", "和平区"]
    // e.detail.code  ["120000", "120100", "120101"]
    this.setData({
      region: e.detail.value.join('/'),
      provinceCode: e.detail.code[0],
      cityCode: e.detail.code[1],
      districtCode: e.detail.code[2],
    })
  },
  // 保存
  async save() {
    // 简单校验一下
    let {
      name,
      phone,
      region,
      address
    } = this.data
    if (name && phone && region && address) {
      try {
        // 需要判断是添加地址还是修改地址 因为接口不同
        if (this.data.id) { //修改
          const res = await reqEditAddress(this.data)
          // if判断中是有块级作用域
          if (res.code === 200) {
            // 成功返回上一个页面
            wx.navigateBack()
          }
        } else { //添加
          const res = await reqAddAddress(this.data)
          if (res.code === 200) {
            // 成功返回上一个页面
            wx.navigateBack()
          }
        }
      } catch (error) {
        console.log(error)
        wx.showToast({
          title: '添加地址失败',
        })
      }
    }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      id: options.addressId,
    })
    // 通过地址id来取获取咱们的地址详情数据 然后回显再页面中
    if (this.data.id) { //修改进来的 再去发送请求获取地址详情
      this.getAddresInfo()
    }
  },
  // 发送请求获取地址详情
  async getAddresInfo() {
    try {
      const res = await reqAddressInfo(this.data.id)
      console.log(res)
      if (res.code === 200) {
        this.setData({
          name: res.data.name,
          phone: res.data.phone,
          // 通过fullAddress以及咱们的address使用split方法完成region数据
          region: res.data.fullAddress.split(res.data.address)[0],
          address: res.data.address,
          tagName: res.data.tagName,
          isDefault: res.data.isDefault,
          provinceCode: res.data.provinceCode,
          cityCode: res.data.cityCode,
          districtCode: res.data.districtCode,
          id: res.data.id,
        })
      }
    } catch (error) {
      console.log(error)
      wx.showToast({
        title: '获取详情失败',
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})